<?php
class AdminPruebaController extends GenericController {

    private $pruebaBO;
    private $consultaLolimsaBO;
    private $visaNetBO;
    

    public function __construct() {
        $this->className = 'AdminPruebaController';
        LogUtil::info("class $this->className", "__construct");
        $this->pruebaBO = BOFactory::getPruebaBO();        
        $this->consultaLolimsaBO = BOFactory::getConsultaLolimsaBO(); 
        $this->visaNetBO = BOFactory::getVisaNetBO();
    }

    public function __destruct() {
        LogUtil::info("class $this->className", "__destruct");
    }

    public function main() {
        LogUtil::info("class $this->className", "main");        
        if(isset($_POST["action"])){     
            $this->messages = new WP_Error();            
            ValidadorUtil::validarTextoVacio($this->messages, "txtNombre","Nombre vacio");            
            ValidadorUtil::validarTextoVacio($this->messages, "txtApellido","Apellido vacio");            
            if(ValidadorUtil::is_empty_error($this->messages) ){                
                try{
                    //$this->pruebaBO->accion();                    
                    return Constantes::$PAGE_ADMIN_PRUEBA2;
                }catch(Exception $e){                    
                    Util::agregarError($this->messages, $e->getCode(),$e->getMessage());                    
                }
            }
            return Constantes::$PAGE_ADMIN_PRUEBA1;
        }else if(isset($_POST["action2"])){
            $this->messages = new WP_Error();            
            ValidadorUtil::validarTextoVacio($this->messages, "txtCodigo","Nombre vacio");
            return Constantes::$PAGE_ADMIN_PRUEBA2;
        }else if(isset($_POST["action3"])){
            echo "entra a consultar la WS <br>";
             try{
                    /*
                    $cabeceras = "From: me@example.com\r\nContent-type: text/html\r\n";
                    $destinatario = 'eder.zuniga@gmail.com';
                    $asunto = 'Bienvenido a Sistema de reservas';
                    $mensaje = 'Hola Usuario <br>';
                    $mensaje = $mensaje . 'Tus datos de login han sido creados/modificados de la siguiente manera:<br><br>';
                    $mensaje = $mensaje . 'Usa el siguiente enlace para acceder:<br>';
                    $mensaje = $mensaje . '<a href="http://local.com/">http://local.com/</a>';
                    if(mail($destinatario, $asunto, $mensaje, $cabeceras)){
                        echo "se envio correctamente";
                    }else{
                        echo "no se envio!!!!!!!!!";
                    };
                 
                 */
                 
                    $this->messages = new WP_Error(); 
                    $res=$this->consultaLolimsaBO->getToken();
                    echo $res->token."-XXXXX-".$res->expiry ;
                    
                    //consulta el metodo getPartnerData
                    $res=$this->consultaLolimsaBO->getToken();
                    echo "<br>Consulta el metodo getPartnerData:". $res->token."- expira:- ".$res->expiry ;
                    $res=$this->consultaLolimsaBO->getPartnerData($res->token);                  
                   
                    echo "<br><br>Establecimiento<br>";
                    foreach ($res->establecimiento as &$valor) {            
                        echo $valor->tipoRegistro ."-".$valor->codRegistro."-".$valor->descripcion."<br>";
                    }
                    echo "<br>Servicio<br>";
                    foreach ($res->servicio as &$valor) {            
                        echo $valor->tipoRegistro ."-".$valor->codRegistro."-".$valor->descripcion."<br>";
                    }
                    echo "<br>Medico<br>";
                    foreach ($res->medico as &$valor) {            
                        echo $valor->tipoRegistro ."-".$valor->codRegistro."-".$valor->descripcion."<br>";
                    }
                    
                    //consulta el metodo GetScheduleDetail
                    $res=$this->consultaLolimsaBO->getToken();
                    echo "<br>Consulta el metodo GetScheduleDetail:". $res->token."- expira:- ".$res->expiry ;
                    $res=$this->consultaLolimsaBO->GetScheduleDetail($res->token,"1","0001","0001","20121003");                    
                    echo "<br>Cita<br>";
                    foreach ($res->cita as &$valor) {            
                        echo $valor->consecutivoDisponibilidad ."-".$valor->tipoDisponibilidad."-".$valor->horario."<br>";
                    } 
                    
                    //consulta el metodo AppointmentInsert
                    $res=$this->consultaLolimsaBO->getToken();
                    echo "<br>Consulta el metodo AppointmentInsert:". $res->token."- expira:- ".$res->expiry ;
                    $sch=new SegmentoSCH();
                    $sch->segmentoSCH("Cita desde la Página Web", "0");
                    
                    $pid=new SegmentoPID();
                    $pid->SegmentoPID("ABANTO MORALES LUIS", "M","", "M");
                    
                    $rgs=new SegmentoRGS();
                    $rgs->SegmentoRGS();
                    
                    $ais=new SegmentoAIS();
                    $ais->SegmentoAIS("0001", "20121015180000");
                    
                    $ail=new SegmentoAIL();
                    $ail->SegmentoAIL("1");
                    
                    $aip=new SegmentoAIP();
                    $aip->SegmentoAIP("0001");
                    echo "ingresa a consultar";
                    //$res=$this->consultaLolimsaBO->AppointmentInsert($res->token,$sch,$pid,$rgs,$ais,$ail,$aip);
                    echo "sale";
                    echo "resultado cita:".$res->mensaje;   
                    echo "<br><br>ETICKET REGRESO:<br>";
                    //$reserva = $this->visaNetBO->generarETicket('000000007', '100.00', 'clinica morillas' );
                    $VISANET_CODIGOTIENDA = $this->pruebaBO->obtenerOpcionPorId(Constantes::$OPCION_CODIGO_COMERCIO_VISA);
                    $reserva = $this->visaNetBO->consultaETicket($VISANET_CODIGOTIENDA->valor, '1841730310341210162301437656');
                    
                    echo "<br>la reserva fue:".$reserva->respuesta."!";
                    print_r($reserva);
                }catch(Exception $e){                         
                    Util::agregarError($this->messages, $e->getCode(),$e->getMessage());                    
                }
        }
        
        
                                    
        
        return Constantes::$PAGE_ADMIN_PRUEBA1;
    }

}
?>
